<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>流程控制</title>
</head>
<body>
            <!-- 流程控制 ：就是用来控制我们的代码按照什么结构顺序来执行
            这三种结构代表三种代码执行的顺序          
                      有三种结构 ：
                                 顺序结构 ：
                                          是程序中最简单 最基本 的流程控制 它没有特定的语法结构 程序会按照 代码的先后顺序 依次执行
                                          程序中大多数代码都是这样执行的

                                 分支结构：
                                          由上到下执行代码的过程中，根据   不同的条件  ，执行  不同的路径代码   （执行代码多选一的过程）
                                          从而得到不同的结果


                                      提供了两种分支语句 ：
                                                          if语句  
                                                          if else 双分支语句 
                                                          if elae if 多分支语句 ：就是利用多个条件来选择不同的语句执行 得到不同的结果  多选1 的过程
                                              
                                                三元表达式 ：也能做一些简单的条件选择，由三元运算符组成的式子叫三元表达式
                                                           ++num  一元     3 + 5 二元           ？ ；三元
                                                           语法结构：
                                                                   条件表达式 ？ 表达式1 ： 表达式2
                                                            执行思路：
                                                                    如果条件表达式结果为真 则 返回表达式1 的值 如果条件表达式为假 则 返回表达式2 的值


                                                          switch语句 
                                                                    也是多分支语句 它用于基于不同的条件来执行不同的代码 当要针对变量 设置一系列
                                                                    特定值选项时
                                                                    就可以使用 switch


                                    switch 语句 和 if else if 语句的区别：
                                                                        1 一般情况下 他们两个语句可以相互替换
                                                                        2 switch ... case 语句通常处理 case 为比较确定的值 
                                                                          而 if else .. 语句更加灵活 通常用于范围判断（大于等于某个范围）
                                                                        3 switch 语句进行条件判断后直接执行到程序的条件语句 效率更高
                                                                          而 if else 语句有几种条件 就要判断多少次
                                                                        4 分支少的话 if else if好 分支多的话就用switch
                                
                                            
                                  -->
                                 

                <!-- 分支结构 -->
                <script>
                    // 1 if语句结构
                    // if (条件表达式) {
                    //     执行语句
                    // }
                    // 2  执行思路 如果 if 里面的条件表达式结构为真 true 则执行 大括号里面的 执行语句
                    // 如果 if 里面的条件表达式结构为假 flase 则不执行 大括号里面的 执行语句   则执行 if语句 后面的代码
                    // 3  代码体验
                 /*    if (3 < 5){
                        alert('赵哲');
                    }
 */


               /*      双分支语法结构 if else 否侧
                     if (条件表达式) {
                        执行语句1  真的执行1
                     } else{
                         执行语句2  假的执行2
                     }
                    代码验证 */
                 /*    var age =prompt ('请输入您的年龄');
                     if (age >= 18){
                     alert('带你去网吧偷鸡')
                     } else{
                     alert('你不配去');
                        } */
                    // 最终只有一个语句会执行   else后面没有小括号


                    
               /*     多分支语句  有几个语句写几个语句
                   语法规范
                    if(条件表达式1){
                        语句1 ；
                    }else if(条件表达式2){
                        语句2 ；
                    } else if(条件表达式3){
                        语句3；
                    }else{
                        最后的语句；
                    }
                    执行思路 如果条件表达式1 满足 则执行语句1 然后退出整个if 语句
                             如果条件表达式1 不满足 则判断条件表达式2  满足的话执行语句2 依次类推 
                             如果所有条件表达式都不满足 则执行 最后的语句

                        注意 多分支语句还是多选1 最后只能有一个语句执行
                             else if 里面的条件理论上可以任意多个的
                             else if 中间有一个小空格
                    */


              
                </script>

                <script>
                          // 三元表达式代码体验
              /*             var num =10;
                  var result=  num > 5 ? '是的' : '不是的' ;
                  console.log(result); */
                  // 等同于
              /*    if (num > 5){
                      result='是的';
                  }else{
                      result='不是的';
                  } */
                </script>


                <script>
                    // 1. switch 语句也是多分支语句 也可以实现多选1
                    // 2. 语法结构  switch 转换 开关的意思  case 小例子或者选项的意思
                       /*    switch(表达式){
                              case value1:
                                  执行语句1;
                                  break;
                              case value2:
                                  执行语句2;
                                  break;
                            ................... 此处省略一万个
                            default:
                                执行最后的语句；
                          
                          }
                       3.  执行思路 利用表达式的值 和 case 后面的语句值 相匹配 就执行case 如果都不匹配 执行最后一个  */
                    // 4.  代码体验
                    switch (2) {
                        case 1:
                            console.log('这是1');
                            break;
                        case 2:
                            console.log('这是2');
                            break;
                        default:
                            console.log('啥也不是');
                    }
               /*      注意事项： 1  我们开发里面 表达式 经常写成变量
                              2  我们num 里面的值 和 case 里面的值 相匹配的时候是 全等 必须是值和数据类型一致才可以   num === 1
                              3  break 可写可不写 不写的话会执行下一个 打印出 1 和 2  他会找 break 找到就会退出
                    var   num=1；
                    switch （num）{
                        case 1:
                        console.log(1);
                        break;

                    } */
                </script>
</body>
</html>